﻿Public Class frmThoiKhoaBieu
    Sub LoadDanhSach()
        Dim dt As DataTable
        dt = ThoiKhoaBieuDAO.SelectAll()
        dgvThoiKhoaBieu.DataSource = dt

    End Sub
    Sub Them()
        Dim tkb As ThoiKhoaBieuDTO = New ThoiKhoaBieuDTO()
        tkb.MaLop = txtMaLop.Text
        tkb.TenLop = cmbLop.Text
        tkb.HoTen = cmbGiaoVien.Text
        tkb.TenMon = cmbMonHoc.Text
        tkb.SoHieuPhong = cmbPhong.Text
        tkb.HocKy = cmbHocKy.Text
        tkb.Ngay = dtpNgay.Value
        tkb.Buoi = cmbBuoi.Text
        tkb.NamHoc = cmbNamHoc.Text
        ThoiKhoaBieuDAO.Insert(tkb)
        LoadDanhSach()
    End Sub
    Sub Xoa()
        Dim tkb As ThoiKhoaBieuDTO = New ThoiKhoaBieuDTO()
        tkb.MaTKB = txtMaTKB.Text
        tkb.MaLop = txtMaLop.Text
        tkb.TenLop = cmbLop.Text
        tkb.HoTen = cmbGiaoVien.Text
        tkb.TenMon = cmbMonHoc.Text
        tkb.SoHieuPhong = cmbPhong.Text
        tkb.HocKy = cmbHocKy.Text
        tkb.Ngay = dtpNgay.Value
        tkb.Buoi = cmbBuoi.Text
        tkb.NamHoc = cmbNamHoc.Text
        ThoiKhoaBieuDAO.Delete(tkb)
        LoadDanhSach()
    End Sub
    Sub Hien_thi_MaLop()
        Dim tkb As New ThoiKhoaBieuDTO
        Dim MaLop As String
        tkb.TenLop = cmbLop.Text
        MaLop = ThoiKhoaBieuDAO.SelectMaLopByTenLop(tkb)
        txtMaLop.Text = MaLop
    End Sub
    Sub Hien_thi_SoSV()
        Dim tkb As New ThoiKhoaBieuDTO
        Dim SiSo As Integer
        tkb.TenLop = cmbLop.Text
        SiSo = ThoiKhoaBieuDAO.SelectSoSVByTenLop(tkb)
        txtSoSV.Text = SiSo
    End Sub
    Sub Hien_thi_SucChua()
        Dim tkb As New ThoiKhoaBieuDTO
        Dim SucChua As Integer
        tkb.SoHieuPhong = cmbPhong.Text
        SucChua = ThoiKhoaBieuDAO.SelectSucChuaByTenPhong(tkb)
        txtSucChua.Text = SucChua
    End Sub
    Sub Sua()
        Dim tkb As ThoiKhoaBieuDTO = New ThoiKhoaBieuDTO()
        tkb.MaTKB = txtMaTKB.Text
        tkb.MaLop = txtMaLop.Text
        tkb.TenLop = cmbLop.Text
        tkb.HoTen = cmbGiaoVien.Text
        tkb.TenMon = cmbMonHoc.Text
        tkb.SoHieuPhong = cmbPhong.Text
        tkb.HocKy = cmbHocKy.Text
        tkb.Ngay = dtpNgay.Value
        tkb.Buoi = cmbBuoi.Text
        tkb.NamHoc = cmbNamHoc.Text
        ThoiKhoaBieuDAO.Update(tkb)
        LoadDanhSach()
    End Sub
    Sub Tim()
        Dim tkb As ThoiKhoaBieuDTO = New ThoiKhoaBieuDTO()
        tkb.MaLop = txtMaLop.Text
        tkb.TenLop = cmbLop.Text
        tkb.HoTen = cmbGiaoVien.Text
        tkb.TenMon = cmbMonHoc.Text
        tkb.SoHieuPhong = cmbPhong.Text
        tkb.HocKy = cmbHocKy.Text
        tkb.Ngay = dtpNgay.Value
        tkb.Buoi = cmbBuoi.Text
        tkb.NamHoc = cmbNamHoc.Text
        dgvThoiKhoaBieu.DataSource = ThoiKhoaBieuDAO.SelectByTKB(tkb)
    End Sub

    Sub Clear()
        txtMaLop.Text = ""
        cmbBuoi.Text = ""
        cmbGiaoVien.Text = ""
        cmbHocKy.Text = ""
        cmbLop.Text = ""
        cmbMonHoc.Text = ""
        cmbNamHoc.Text = ""
        cmbPhong.Text = ""
        dtpNgay.Text = ""
    End Sub
    Private Function CheckDataInput() As Boolean
        If cmbLop.Text = "" Then
            MsgBox("Bạn hãy chọn Lớp, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            cmbLop.Focus()
            Return False
        ElseIf cmbGiaoVien.Text = "" Then
            MsgBox("Bạn hãy chọn tên Giáo Viên, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            cmbGiaoVien.Focus()
            Return False
        ElseIf cmbMonHoc.Text = "" Then
            MsgBox("Bạn hãy chọn Môn Học, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            cmbMonHoc.Focus()
            Return False
        ElseIf cmbPhong.Text = "" Then
            MsgBox("Bạn hãy chọn Phòng Học, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            cmbPhong.Focus()
            Return False
        ElseIf cmbHocKy.Text = "" Then
            MsgBox("Bạn hãy chọn Học Kỳ, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            cmbHocKy.Focus()
            Return False
        ElseIf dtpNgay.Text = "" Then
            MsgBox("Bạn hãy chọn Ngày, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            dtpNgay.Focus()
            Return False
        ElseIf cmbBuoi.Text = "" Then
            MsgBox("Bạn hãy chọn Buổi, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            cmbBuoi.Focus()
            Return False
        ElseIf cmbNamHoc.Text = "" Then
            MsgBox("Bạn hãy chọn Năm Học, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            cmbNamHoc.Focus()
            Return False
        End If
        Return True
    End Function
    Sub HienThi()
        If (dgvThoiKhoaBieu.SelectedRows.Count > 0) Then
            txtMaTKB.Text = dgvThoiKhoaBieu.SelectedRows(0).Cells(0).Value.ToString()
            txtMaLop.Text = dgvThoiKhoaBieu.SelectedRows(0).Cells(1).Value.ToString()
            cmbLop.Text = dgvThoiKhoaBieu.SelectedRows(0).Cells(2).Value.ToString()
            cmbGiaoVien.Text = dgvThoiKhoaBieu.SelectedRows(0).Cells(3).Value.ToString()
            cmbMonHoc.Text = dgvThoiKhoaBieu.SelectedRows(0).Cells(4).Value.ToString()
            cmbPhong.Text = dgvThoiKhoaBieu.SelectedRows(0).Cells(5).Value.ToString()
            cmbHocKy.Text = dgvThoiKhoaBieu.SelectedRows(0).Cells(6).Value.ToString()
            dtpNgay.Text = dgvThoiKhoaBieu.SelectedRows(0).Cells(7).Value.ToString()
            cmbBuoi.Text = dgvThoiKhoaBieu.SelectedRows(0).Cells(8).Value.ToString()
            cmbNamHoc.Text = dgvThoiKhoaBieu.SelectedRows(0).Cells(9).Value.ToString()
        End If
    End Sub
    Sub Hien_thi_phong()
        Dim dt As New DataTable
        dt = PhongDAO.SelectAll()
        cmbPhong.DataSource = dt
        cmbPhong.DisplayMember = "SoHieuPhong"
    End Sub
    Sub Hien_thi_lop()
        Dim dt As New DataTable
        dt = LopDAO.SelectAll()
        cmbLop.DataSource = dt
        cmbLop.DisplayMember = "TenLop"
    End Sub
    Sub Hien_thi_gv()
        Dim dt As New DataTable
        dt = GiaoVienDAO.SelectAll()
        cmbGiaoVien.DataSource = dt
        cmbGiaoVien.DisplayMember = "Hoten"
    End Sub
    Sub Hien_thi_monhoc()
        Dim dt As New DataTable
        dt = MonHocDAO.SelectAll()
        cmbMonHoc.DataSource = dt
        cmbMonHoc.DisplayMember = "Tenmon"
    End Sub
    Sub Hien_thi_hocky()

        'Khai báo ArrayList  
        Dim hocky As New ArrayList()

        'Đưa vào ArrayList  giá trị
        hocky.Add("I")
        hocky.Add("II")

        'Đưa mảng vào ComboBox
        cmbHocKy.DataSource = hocky
    End Sub
    Sub Hien_thi_buoi()

        'Khai báo ArrayList  
        Dim buoi As New ArrayList()

        'Đưa vào ArrayList  giá trị
        buoi.Add("Sáng")
        buoi.Add("Chiều")

        'Đưa mảng vào ComboBox
        cmbBuoi.DataSource = buoi
    End Sub
    Sub hien_thi_namhoc()
        'Khai báo ArrayList  
        Dim namhoc As New ArrayList()
        'Đưa vào ArrayList  giá trị
        namhoc.Add("2008-2009")
        namhoc.Add("2009-2010")
        namhoc.Add("2010-2011")
        namhoc.Add("2011-2012")
        namhoc.Add("2012-2013")
        namhoc.Add("2013-2014")
        namhoc.Add("2014-2015")
        'Đưa mảng vào ComboBox
        cmbNamHoc.DataSource = namhoc
    End Sub

    Private Sub frmThoiKhoaBieu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Hien_thi_gv()
        Hien_thi_lop()
        Hien_thi_phong()
        Hien_thi_monhoc()
        Hien_thi_hocky()
        hien_thi_namhoc()
        Hien_thi_buoi()
        Hien_thi_MaLop()
        LoadDanhSach()

    End Sub
    Private Sub btnThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThem.Click
        Dim tkb As ThoiKhoaBieuDTO = New ThoiKhoaBieuDTO()
        tkb.SoHieuPhong = cmbPhong.Text
        tkb.Ngay = dtpNgay.Value
        tkb.Buoi = cmbBuoi.Text
        Dim dt As DataTable = ThoiKhoaBieuDAO.KiemTra(tkb)
        If dt.Rows.Count >= 1 Then
            MsgBox("Đăng ký ca học không hợp lệ !")
        Else
            If Integer.Parse(txtSucChua.Text) <= Integer.Parse(txtSoSV.Text) Then
                MsgBox("Bạn đăng ký phòng học không phù hợp với lớp học !")
            Else
                If CheckDataInput() = True Then
                    Them()
                    LoadDanhSach()
                End If
            End If
        End If

    End Sub

    Private Sub btnxoa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXoa.Click
        If dgvThoiKhoaBieu.SelectedRows.Count = 0 Then
            MessageBox.Show("Hãy chọn dữ liệu cần xóa !")
        End If
        If dgvThoiKhoaBieu.SelectedRows.Count > 0 Then
            If MsgBox("Bạn có thật muốn xóa !", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Thông báo") = MsgBoxResult.Yes Then
                Xoa()
                LoadDanhSach()
            Else
                Exit Sub
            End If
        Else
            MsgBox("Chọn mẫu tin cần xoá !", MsgBoxStyle.Question + MsgBoxStyle.OkOnly, "Thông báo")
        End If
    End Sub

    Private Sub btnSua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSua.Click
        Dim tkb As ThoiKhoaBieuDTO = New ThoiKhoaBieuDTO()
        tkb.SoHieuPhong = cmbPhong.Text
        tkb.Ngay = dtpNgay.Value
        tkb.Buoi = cmbBuoi.Text
        Dim dt As DataTable = ThoiKhoaBieuDAO.KiemTra(tkb)
        If dt.Rows.Count >= 2 Then
            MsgBox("Đăng ký ca học không hợp lệ !")
        Else
            If Integer.Parse(txtSucChua.Text) <= Integer.Parse(txtSoSV.Text) Then
                MsgBox("Bạn đăng ký phòng học không phù hợp với lớp học !")
            ElseIf CheckDataInput() = True Then
                Sua()
                LoadDanhSach()
            End If
        End If
    End Sub

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
        Clear()

    End Sub

    Private Sub btntim_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTim.Click
        Tim()
    End Sub

    Private Sub btnThoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThoat.Click
        Me.Close()
    End Sub

    Private Sub cmbLop_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbLop.SelectedIndexChanged
        Hien_thi_MaLop()
        Hien_thi_SoSV()
    End Sub

    Private Sub dgvThoiKhoaBieu_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvThoiKhoaBieu.SelectionChanged
        HienThi()
    End Sub

    Private Sub btnIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIn.Click
        Dim f As New frmBaocaoTKB
        f.Show()
    End Sub

    Private Sub cmbPhong_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbPhong.SelectedIndexChanged
        Hien_thi_SucChua()
    End Sub
End Class